//
//  NSString+Helper.h
//  智能备考学习
//
//  Created by 盛超 on 2018/8/15.
//  Copyright © 2018年 盛超. All rights reserved.
//

#import <Foundation/Foundation.h>

typedef enum : NSUInteger {
    EMAIL,
    MOBILE,
    IDENTITY,
} ByRegexString;



@interface NSString (Helper)

/*去除html标签*/
- (NSString*)handleHtml ;
/*处理在Label上展示的html文本*/
- (NSAttributedString *)showHTMLText:(CGFloat)fontsize;
/*处理在webViews上展示的html文本*/
- (NSString*)webViewHtmlStringWithFont:(CGFloat)font;

/** HTML文本解析 */
- (NSAttributedString *)dr_HtmlString;
/** HTML文件解析为系统字体 */
- (NSAttributedString *)dr_HtmlStringWithFontSize:(float)fontSize;
/*字间距，行间距*/
- (NSMutableAttributedString*)dr_changeCharSpace:(CGFloat)charSpace LineSpace:(CGFloat)lineSpace Font:(CGFloat)font;

/*时间格式转换*/
- (NSString*)transfromNormalTime;
- (NSString*)transfromShortTime;
- (NSString*)transfromLongTime;
- (NSString*)transfromTLongTime;

#pragma mark - 朱凯 2018.8.22
/** URL String Encode */
- (NSString *)stringByEncodingURLFormat;


/** URL String Decode */
- (NSString *)stringByDecodingURLFormat;


/** 判断字符串是否可用 */
- (BOOL)isStringNull;

/** 获得需要的正则表达式 */
+ (NSString *)getRegexStringWithType:(ByRegexString)type;
/** 检测是否匹配正则表达式 regex */
- (BOOL)isMatchPredicateWithRegex:(NSString *)regex;


/** 获得字符串的size（不能用于高度获得）根据字体大小 和 粗细 */
- (CGSize)getSizeOfString:(float)font;
- (CGSize)getSizeOfBlodString:(float)font;


/** 获得字符串的rect 根据字体大小 和 展示视图的宽度 */
- (CGRect)getRectOfStringWithSize:(CGSize)size font:(float)font;


/** 下面两个方法应配合使用 */
/** 获得带属性的字体（主要为行间距和字间距） */
- (NSAttributedString *)attributeString:(CGFloat)font;
/** 获得字间距@1，行间距2，字体font的rect */
- (CGRect)getRectOfAttributeStringWithSize:(CGSize)size font:(float)font;


/** 获得带表情的字符串的size */
//- (CGSize)getMixTextSizeWithWidth:(CGFloat)width line:(NSInteger)line fontSize:(CGFloat)fontSize;


/** 获得由删除线的 NSMutableAttributedString 如果需要增加其他属性，在此基础上增加 */
- (NSMutableAttributedString *)deleteLineAttributedStringWithColor:(UIColor *)color range:(NSRange )range;


/** 获得加密的字符串
 1:手机号（11位数字）显示前4位和后三位，其他为*
 2:身份证（18位）显示前8位和后4位，其他为*
 3:姓名（2~4位）隐藏第一位
 */
- (NSString *)getEncryptedString;


/** 获得手机版本 */
+ (NSString*)deviceVersion;

/** 字典转json字符串 */
+ (NSString*)dictionaryToJson:(NSDictionary *)dic;

@end
